package com.ctg.itrdc.imageconsole.service;

import java.util.Map;

import com.ctg.itrdc.imageconsole.data.dto.DockerMicroImageDTO;
import com.ctg.itrdc.imageconsole.data.entity.DockerMicroImage;
import com.ctg.itrdc.paspsdk.common.entity.PageInfo;

/**
 * 
 * @description: 镜像构建服务
 * @version: v1.0.0
 * @author: Piao.Wu
 * 
 *          Modification History: Date Author Version Description
 *          -----------------------------------------------------------------
 *          2016年10月24日 上午9:18:39 Piao.Wu v1.0.0 create
 *
 */
public interface IImageBuildService {

	PageInfo<DockerMicroImage> queryBuildList(DockerMicroImage dockerMicroImage, Integer pageNum,
			Integer pageSize) throws Exception;

	/**
	 * 
	 * @Description: 开始执行镜像构建
	 * @author Piao.Wu 2016年10月24日 上午9:18:55
	 * @param dockerMicroImageDTO
	 * @return Boolean
	 *
	 */
	public Boolean executorImageBuild(DockerMicroImageDTO dockerMicroImageDTO);
	
	
	public void deleteBuildRecord(DockerMicroImageDTO dockerMicroImageDTO);

	/**
	 * 
	 * @Description: 查询构建日志
	 * @author Piao.Wu 2016年11月2日 上午9:53:25
	 * @param dockerMicroImageId
	 *            镜像构建记录id
	 * @param lastTimeFileSize
	 *            读取到的文件最后位置
	 * @return Map<String, Object>
	 *
	 */
	public Map<String, Object> queryBuildLog(Long dockerMicroImageId, Long lastTimeFileSize);

	/**
	 * 
	 * @Description: 判断镜像的版本是否已经存在
	 * @author Piao.Wu 2016年11月25日 下午2:47:40
	 * @param imageName
	 * @param version
	 * @return true 存在 false不存在 boolean
	 *
	 */
	public boolean isVersionExist(String imageName, String version);
}
